package communicationUDP;

import protocol.*;

/**
 * Transforme une requête en un paquet UDP
 * 
 * @author Alexandre BOURSIER, Nolan POTIER
 */
public class Objet_to_UDP {
	private String message;
	private byte[] byte_message;

	/**
	 * Constructeur normal
	 * @param request
	 * 		la requête cible à transformer
	 */
	public Objet_to_UDP(Request request) {
		message = new String();
		switch (request.getType()) {
		case ADD:
			Add add = (Add) request;
			message = "ADD|";
			message += add.getNickname();
			message += "|";
			message += add.getName();
			message += "|";
			break;
		case LIST:
			protocol.List list = (List) request;
			if (list.getName() == null)
				message = "LIST_PLS|";
			else {
				message = "LIST_UN|";
				message += list.getName();
				message += "|";
			}
			break;
		case EXIT:
			message = "EXIT|";
		}

		byte_message = new byte[message.length()];
		byte_message = message.getBytes();
	}

	/**
	 * Accesseur de consultation du résultat obtenu
	 * @return
	 */
	byte[] getMess() {
		return byte_message;
	}
}
